1. /* sdomltdb.cpp by K.Tsuru */
  2. // function ID = 332 DRADIX
  3. /********************************
  4. SDouble : SDouble*double
  5. *********************************/
  6. #ifndef SN_H
  7. #include "sn.h"
  8. #endif
  9. SDouble operator*(const SDouble& m, double n){
  10. if( (m.Sign(332) == 0) || (n == 0.0) ) return SDZero(m);
  11. if(m.Type() == m.BIN_DEC) return DDMult(m , n); // Must use XsMult()
  12. long N;
  13. int e;
  14. int d2l = doubleTolongExp(n, &N, &e, m.SlOpMaxValue());
  15. if(d2l){
  16. ulong p = (ulong)labs(N);
  17. SDouble r = DsMult(m, p);
  18. if(e) r.MultPow10(e); // cannot use BIN_DEC
  19. if(n < 0) r.ChangeSign();
  20. return r;
  21. }
  22. return DDMult(m , n);
  23. }

sdomltdb.cpp : last modifiled at 2015/11/25 20:18:16(648 bytes)
created at 2017/10/07 10:21:14
The creation time of this html file is 2017/10/07 10:30:03 (Sat Oct 07 10:30:03 2017).